feat: visual revamp of marketing site (homepage, analyzer, wallet)#683
Conversation
…ndation - Self-host Space Grotesk variable font as the display face for headings - Upgrade Button variants (shadow/active states, xl size, premium shine CTA) - Add dot/grid background patterns, glow-border cards, nav underline, hero orbs, and float/pulse/gradient keyframes (reduced-motion aware) - Add Reveal component: IntersectionObserver-driven scroll entrance animation with stagger delays Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LgXVLAviZY9EQ5jFeFD5ys
- Homepage: animated hero gradient, dot-pattern backdrop, glow-border product cards, trust strip, closing CTA banner, 4-column footer - Testimonials: fix hardcoded light-only colors that broke dark mode; drop auto-rotate in favor of scroll-reveal stagger - Educational: replace hardcoded orange-* utilities with brand tokens - Analyzer: shine CTA + glow input in hero, numbered how-it-works steps with connector line, featured Free pricing plan, un-blur coming-soon cards, lucide check icons - Wallet: restructure hero text wall into checkmark bullets, apply reveal animations and token cleanup across sections - Fix primary-button foreground contrast on hero product cards Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LgXVLAviZY9EQ5jFeFD5ys
…pply The static CSP blocked every server-rendered style attribute (safe-area insets, next/image sizing, animation stagger delays) and Next-injected style tags. Extend the existing script-src trade-off to style-src; the site renders no user-supplied HTML. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LgXVLAviZY9EQ5jFeFD5ys
|
@claude can you code review the pr 683 and make any changes required |
Code-review cleanup on the revamp: - Remove will-change-transform from the Reveal wrapper; it was applied to every reveal on the landing pages and never cleared, pinning a compositing layer per element. The transition runs fine without it. - Remove the unused Tailwind `shine` keyframe/animation (the button sheen uses .btn-shine-overlay + the shine-sweep keyframe in globals.css) and the now-orphaned .animate-shine entry in the reduced-motion block. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LgXVLAviZY9EQ5jFeFD5ys
|
Ran a code review over the full diff (32 files). No correctness bugs — the section changes are token/utility swaps, Applied two small quality fixes in
One thing left as-is by design: Nothing else needs changing. CI is re-running on the new commit. Generated by Claude Code |
Description
A visual revamp of the BitSleuth marketing site aimed at a stronger "wow factor" while keeping a trustworthy, professional feel appropriate for financial/crypto products. Alongside the redesign, this fixes several latent dark-mode, contrast, and CSP bugs uncovered during the audit.
Design foundation
--font-display, applied to all headings for a distinct voice alongside the existing Inter body font.src/components/ui/button.tsx): richerdefault/outline/ghostvariants (shadow, hover glow, active press), a newxlsize for hero CTAs, and a premiumshinevariant with a sweeping sheen used on top-of-funnel CTAs. Redundant per-callsite class strings removed.globals.css,tailwind.config.ts): dot/grid background patterns,.card-glow-borderhover glow, ambient hero orbs, nav underline-slide, andshine/float/pulse-glow/gradient-xanimations — allprefers-reduced-motionaware.Revealcomponent (src/components/ui/reveal.tsx): IntersectionObserver-driven scroll entrance animation with stagger delays; renders visible immediately when unsupported or under reduced motion.Homepage: animated hero gradient + dot backdrop, glow-border product cards, a new trust strip (non-custodial / no registration / free during beta / open educational content), a closing gradient CTA banner, and an expanded 4-column footer.
Analyzer page: shine CTA + glow input in the hero, numbered How-It-Works steps with a connector line, a featured Free pricing plan, un-blurred "coming soon" cards with proper badges, and lucide check icons replacing
✅emoji.Wallet page: the hero text wall restructured into a lead line + checkmark bullets, with reveal animations and token cleanup across sections.
Bug fixes
bg-white,text-gray-*, light-only avatar colors) — now fully theme-aware.text-foreground→text-primary-foreground).orange-*utilities instead of brand tokens.style-srcpolicy silently blocked every server-rendered inlinestyleattribute (safe-area insets,next/imagesizing, animation stagger delays) and Next.js-injected style tags. Extended the existingscript-src 'unsafe-inline'trade-off tostyle-src; the site renders no user-supplied HTML.Type of change
Related issues
N/A
Testing
npm run cipasses (lint, typecheck, 29 tests, production build)./,/analyzer, and/walletin both light and dark, at 1440px desktop and 390px mobile widths — verified contrast, layout, header/footer, and that scroll-reveal animations settle correctly.Screenshots (if applicable)
Screenshots (homepage light/dark, analyzer dark, wallet light, mobile dark) were shared during the working session. They can't be attached from the CLI here — see the verification method above for how each surface was checked.
Checklist
npm run typecheckpassesnpm run lintpassesnpm run testpassesnpm run buildsucceedsconsole.logstatements left in production code🤖 Generated with Claude Code
https://claude.ai/code/session_01LgXVLAviZY9EQ5jFeFD5ys
Generated by Claude Code